package org.lanqiao.sjx.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.transform.Source;

import org.lanqiao.bean.Resume;
import org.lanqiao.bean.Work;
import org.lanqiao.sjx.dao.ResumeDao;
import org.lanqiao.sjx.dao.impl.ResumeImpl;
import org.lanqiao.tools.BaseServlet;

import com.google.gson.Gson;

@WebServlet("/Resumeservlet")
public class Resumeservlet extends BaseServlet {
	ResumeDao dao=new ResumeImpl();
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		Object id = request.getSession().getAttribute("id");
		Object typeU = request.getSession().getAttribute("typeU");
		this.request = request;
		this.response = response;

		String type = getString("type");
		redata.setMsg("");
		if (!isNull("type")) {
			switch (type) {
			case "selectid":
				selectidByuserId();
				break;
			case "select":
				selectInfo();
				break;
			case "insert":
				insertInfo();
				break;	
			case "updatename":
				updatenameInfo();
				break;	
			case "updateeceptjob":
				updateceptjobInfo();
				break;	
			case "updateworkid":
				updateworkidInfo();
				break;
			case "updateitemid":
				updateitemidInfo();
				break;	
			case "updateeduid":
				updateeduidInfo();
				break;	
			case "updateselfdes":
				updateselfdesInfo();
				break;
			case "updatezuopinid":
				updatezuopinidInfo();
				break;
				
			}	
		}
		else {
			redata.setCode(3);
			redata.setData(null);

		}
		System.out.println(redata);
		response.getWriter().write(new Gson().toJson(redata));
	}
	
private void selectInfo() {
	System.out.println("selectinfo");
	Integer id=getInt("id");	
	if (redata.getMsg() != "") {
		redata.setCode(3);
		redata.setData(null);
		return;
	}
	List<Resume> selectid =dao.selectInfo(id);
		redata.setCode(2);
		redata.setData(selectid);
		redata.setMsg("查询成功");

}
			

//private void updateitemInfo() {
//	System.out.println("updateitemid");
//	String itemIds=getString("itemIds");
//	Integer id=getInt("id");
//	if (redata.getMsg() != "") {
//		redata.setCode(3);
//		redata.setData(null);
//		return;
//	}
//	Integer i = dao.updateResumeitemid(new Resume(id,itemIds));
//	if(i>0) {
//		redata.setCode(2);
//		redata.setData(i);
//		redata.setMsg("添加成功");
//	}	
		
//	}

//更新简历的作品id
	private void updatezuopinidInfo() {
		System.out.println("updatezuopinid");
		String zuopinIds=getString("zuopinIds");
		Integer id=getInt("id");
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}
		Integer i = dao.updateResumezuopinid(zuopinIds, id);
		if(i>0) {
			redata.setCode(2);
			redata.setData(i);
			redata.setMsg("添加成功");
		}		
	}

	//更新简历的自我描述id
	private void updateselfdesInfo() {
		System.out.println("updateselfdes");
		String selfDescription=getString("selfDescription");
		System.out.println(selfDescription);
		Integer id=getInt("id");
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}
		Integer i = dao.updateResumeselfdes(selfDescription, id);
		if(i>0) {
			redata.setCode(2);
			redata.setData(i);
			redata.setMsg("添加成功");
		}	
		
	}

//更新教育背景表id
	private void updateeduidInfo() {
		System.out.println("updateeduid");
		String educationIds=getString("educationIds");
		Integer id=getInt("id");
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}
		Integer i = dao.updateResumeeduid(educationIds, id);
		if(i>0) {
			redata.setCode(2);
			redata.setData(i);
			redata.setMsg("添加成功");
		}	
		
	}

//更新项目经验表id
	private void updateitemidInfo() {
		System.out.println("updateitemid");
		String itemIds=getString("itemIds");
		Integer id=getInt("id");
		System.out.println(itemIds+id);
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}
		Integer i = dao.updateResumeitemid(itemIds, id);
		if(i>0) {
			redata.setCode(2);
			redata.setData(i);
			redata.setMsg("添加成功");
		}	
	}

//更新工作经验表id
	private void updateworkidInfo() {
		System.out.println("updateworkid");
		String jobIds=getString("jobIds");
		Integer id=getInt("id");
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}
		Integer i = dao.updateResumeworkid(new Resume(id,jobIds));
		if(i>0) {
			redata.setCode(2);
			redata.setData(i);
			redata.setMsg("添加成功");
		}	
		
	}

//更新期望工作
	private void updateceptjobInfo() {
		
		System.out.println("updateceptjob");
		Integer id=getInt("id");
		String jobPlace=getString("jobPlace");
		Integer jobType=getInt("jobType");
		String jobPosition=getString("jobPosition");
		Integer monthlyPay=getInt("monthlyPay");
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}
		Integer i = dao.updateResumeeceptjob(new Resume(jobPlace, jobType, jobPosition, monthlyPay,id));
		if(i>0) {
			redata.setCode(2);
			redata.setData(i);
			redata.setMsg("添加成功");
		}
		
	}

//更新简历表的名字
	private void updatenameInfo() {
		System.out.println("updatename");
		String ResumeName=getString("ResumeName");
		Integer id=getInt("id");
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}
		Integer i = dao.updateResumeName(ResumeName, id);
		if(i>0) {
			redata.setCode(2);
			redata.setData(i);
			redata.setMsg("添加成功");
		}
		
	}


	private void insertInfo() {
		System.out.println("insert");
		
		Integer userId=getInt("userId");
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}
		
		Integer i = dao.insertResume(new Resume(userId));
		if (i>0) {
			redata.setCode(2);
			redata.setData(i);
			redata.setMsg("开始添加简历");		
		}
	}

//查询是否存在简历，
	private void selectidByuserId() {
		redata.setMsg("");
		System.out.println("selectid查询是否存在简历");
		Integer userId=getInt("userId");	
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}
		List<Resume> selectid =dao.selectIdbyuserId(userId);
			redata.setCode(2);
			redata.setData(selectid);
			redata.setMsg("查询成功");

	}
		
}


